package com.smart.wechat.login.service;

import com.smart.wechat.login.common.R;
import com.smart.wechat.login.entity.WechatUser;

import java.io.IOException;

/**
 * 微信业务逻辑接口
 */
public interface IWechatUserService {

    //  ====================================== 微信端 start =====================================

    /**
     * 微信授权，后端重定向url
     * @return
     */
    public String oauth();

    /**
     * 回调
     */
    public R<?> callback(String code) throws IOException;

    /**
     * 微信授权，前端请求url
     * @return
     */
    public R<?> getOauthUrl();

    /**
     * 通过code获取openId
     */
    public R<?> getOpenIdByCode(String code) throws IOException;

    //  ====================================== 微信端 end =======================================

    /**
     * 通过openId获取微信用户信息
     * @param openId
     * @return
     */
    public WechatUser getWechatUserByOpenId(String openId);
    /**
     * 添加微信用户信息
     * @param wechatUser
     * @return
     */
    public int insertWechatUser(WechatUser wechatUser);
    /**
     * 修改微信用户信息
     * @param wechatUser
     * @return
     */
    public int updateWechatUser(WechatUser wechatUser);

}
